The increased processing power and graphical capabilities of modern computer systems have ushered in a new age of video production. Current video production software allows video professionals to create incredibly complex presentations such as animations encompassing multiple layers of elements, such as titles, video, backgrounds and other elements. Each layer may also have additional elements associated with it, such as music, sound effects, different animations for individual elements, and actions associated with elements, such as defining a response to an element being activated by a user; for example, having a graphic element animate in response to a mouse click.
All of these layers and elements combine to form a finished visual product; however, during authoring of the finished product, each layer and element needs to be manipulated in order to achieve the desired result. For example, a video title animation for a DVD may be comprised of several discrete portions arrayed along a timeline, and each portion may be comprised of numerous elements. For example, at one point in a timeline of the animation, the displayed frame may be made up of a background picture, multiple text titles, and a video. Later in the timeline, a displayed frame may be made up of an entirely different set of images, text and videos. An entire project may be made up of tens, hundreds, or even thousands of objects to manage, such as layers, text, filters, video, animations, and effects.
A current approach to managing these objects is to display each object in a linear list that is navigated with scroll bars and similar user interface elements. A user would click on a particular element in the list to “activate” that element for editing or other manipulations. A user may also click on an element in the display and the corresponding entry in the list would be selected.
A drawback to the current approach is that in a project comprising hundreds of elements, navigation of a list becomes tedious and confusing. An element that the user wishes to select in the list may not even be displayed on the screen; for example, an element may not appear in the presentation until the thirty second mark, but the currently-displayed frame is at the ten minute mark. If a user selects the desired element from the list, then there is no corresponding element on the display.
Another current approach to managing objects is the concept of “layers,” which are a hierarchical structure that allows for ordering and placement of various objects on different “levels” of the display in order to better organize related and discrete objects. A current approach to the management of layers is to organize them in a similar linear list, and upon selection of a particular layer in the list, changing the display to only display that particular layer. Multiple layers may be selected for display, and layers may be merged into each other.
A drawback to the current approach of managing layers and their respective elements is that a linear list of layers is not conducive to efficient management and manipulation of the layers and their respective elements. A user may find herself selecting and deselecting various layers regularly in order to manipulate certain elements, and certain layers may have been merged in a manner that does not allow for individual manipulation of particular elements, so the user must first un-merge the layers to make changes, then re-merge the layers in order to generate a desired display.
Another drawback to current approaches of distributing elements on a display is that a user may want to see all elements comprising a project; however, the project may consist of numerous layers and objects in those layers, and the layers and objects may become active at different points along the timeline of the project. Currently, there is no way to alternate viewing the currently-displayed frame and its elements and all elements existing in all frames.
Another drawback to current approaches is that layers are displayed in a flat, two-dimensional manner. As previously discussed, the management of layers is generally provided by organizing the layers in a linear list, and layers are displayed upon selection of the element in the list corresponding to the layer. Current approaches to displaying layers and managing layers do not efficiently and accurately portray the relationship of layers to one another. Layers in a project are arranged on top of one another in a three-dimensional relationship, yet the management of the layers only displays the layers two-dimensionally, which makes selection and management of the layers difficult and tedious.
Therefore, an approach that allows for an authoring interface that distributes composited visual elements for display and manipulation is desirable. The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.